
function valida_nif(value) { 
	 value = value.toUpperCase();
	 
	 // Basic format test
	 if ( !value.match('((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)') ) {
	  return false;
	 }
	 
	 // Test NIF
	 if ( /^[0-9]{8}[A-Z]{1}$/.test( value ) ) {
	  return ( "TRWAGMYFPDXBNJZSQVHLCKE".charAt( value.substring( 8, 0 ) % 23 ) === value.charAt( 8 ) );
	 }
	 // Test specials NIF (starts with K, L or M)
	 if ( /^[KLM]{1}/.test( value ) ) {
	  return ( value[ 8 ] === String.fromCharCode( 64 ) );
	 }
	 
	 return false;
}


function valida_nie(value) {
	 value = value.toUpperCase();
	 
	 // Basic format test
	 if ( !value.match('((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)') ) {
	  return false;
	 }
	 
	 // Test NIE
	 //T
	 if ( /^[T]{1}/.test( value ) ) {
	  return ( value[ 8 ] === /^[T]{1}[A-Z0-9]{8}$/.test( value ) );
	 }
	 
	 //XYZ
	 if ( /^[XYZ]{1}/.test( value ) ) {
	  return (
	   value[ 8 ] === "TRWAGMYFPDXBNJZSQVHLCKE".charAt(
	    value.replace( 'X', '0' )
	     .replace( 'Y', '1' )
	     .replace( 'Z', '2' )
	     .substring( 0, 8 ) % 23
	   )
	  );
	 }
	 
	 return false;
}
 
 
 
function valida_cif(value) {
	 var sum,
	  num = [],
	  controlDigit;
	  
	 value = value.toUpperCase();
	  
	 // Basic format test
	 if ( !value.match( '((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)' ) ) {
	  return false;
	 }
	  
	 for ( var i = 0; i < 9; i++ ) {
	  num[ i ] = parseInt( value.charAt( i ), 10 );
	 }
	  
	 // Algorithm for checking CIF codes
	 sum = num[ 2 ] + num[ 4 ] + num[ 6 ];
	 for ( var count = 1; count < 8; count += 2 ) {
	  var tmp = ( 2 * num[ count ] ).toString(),
	   secondDigit = tmp.charAt( 1 );
	   
	  sum += parseInt( tmp.charAt( 0 ), 10 ) + ( secondDigit === '' ? 0 : parseInt( secondDigit, 10 ) );
	 }
	  
	 // CIF test
	 if ( /^[ABCDEFGHJNPQRSUVW]{1}/.test( value ) ) {
	  sum += '';
	  controlDigit = 10 - parseInt( sum.charAt( sum.length - 1 ), 10 );
	  value += controlDigit;
	  return ( num[ 8 ].toString() === String.fromCharCode( 64 + controlDigit ) || num[ 8 ].toString() === value.charAt( value.length - 1 ) );
	 }
	  
	 return false; 
}


function valida_pass(pass){
	if(pass.length>=8){
		return true;
	}else{
		return false;
	}
}
function valida_passrep(pass, passrep){
	if(passrep.length>=8 && pass==passrep){
		return true;
	}else{
		return false;
	}
}

function valida_mail(mail){
	var arroba = mail.indexOf('@');
	var punto = mail.indexOf('.', arroba);
	if(mail!="" && arroba!=-1 && punto!=-1){
		return true;
	}else{
		return false;
	}
}

function notifica(id,mensaje){
	$("#"+id).html(mensaje);
}

function notifica_limpia_candidato(){
	notifica("errUsuario","");
	notifica("errPass","");
	notifica("errPassRep","");
}

function notifica_limpia_empresa(){
	notifica("errUsuario","");
	notifica("errPass","");
	notifica("errPassRep","");
	notifica("errMail","");
}


function validaCandidato (){
	console.log('validando...');
	$(document).ready(function(){
		$("#save").click(function(event){
			event.preventDefault();
			notifica_limpia_candidato();
			if(!valida_nif($("#usuario").val()) && !valida_nie($("#usuario").val())){
				notifica("errUsuario","El DNI, NIF o NIE introducido no es correcto");				
			}
			if(!valida_pass($("#pass").val())){
				notifica("errPass","La contraseña debe tener un mínimo de 8 caracteres");	
			}
			if(!valida_passrep($("#pass").val(), $("#passrep").val())){
				notifica("errPassRep","Debe introducir la misma contraseña con un mínimo de 8 caracteres");
			}
			else{		
				/*$.post(
					"http://bolsacetic.esy.es/Proyecto_PHP/controlador.php",
					$("#registroCandidatoForm").serialize(),
					function(data) {
						console.log(data);
					}
				).done(function() {
					console.log("second success");
				}).fail(function() {
					console.log("error");
				}).always(function() {
					console.log("finished");
				});
					function(res){
		                if(res == 1){
		                    location.href = this.href;
		                } else {
		                    $("#fracaso").delay(500).fadeIn("slow"); 
		                }
			        }
			     );*/
			    $.ajax({
					 url:"http://bolsacetic.esy.es/Proyecto_PHP/controlador.php",	 
					 type:"POST",
					 //data:{usuario:11111,pass:'pass1234',accion:'login',tipo:0},
					 data:$("#registroCandidatoForm").serialize(),
					 success:function(data){
						 console.log("success");
						 console.log(data);
						 if(data=="OK"){
						 	console.log("exito");
						 	$("#nif").val($("#usuario")); 
						 	$("#nombre").val($("#nombre")); 
						 	$("#ape1").val($("#apel1")); 
						 	$("#ape2").val($("#apell2")); 
						 	
							$.mobile.changePage("#dPersonales");
						 						 	
						 }else{
						 	console.log("fracaso");
						 	$("#fracaso").delay(500).fadeIn("slow");	
						 }
					 },
					 error:function(p,t,e){
						 console.log("error");
						 console.log(t);
						 console.log(e);
					 },
					 complete:function(){
					 	console.log("completo");
					 }
				 });
			}
		});
	});
}



function validaEmpresa (){
	console.log('validando...');
	$(document).ready(function(){
		$("#save").click(function(event){
			event.preventDefault();
			notifica_limpia_empresa();
			if(!valida_cif($("#usuario").val())){
				notifica("errUsuario","El CIF introducido no es correcto");				
			}
			if(!valida_pass($("#pass").val())){
				notifica("errPass","La contraseña debe tener un mínimo de 8 caracteres");
			}
			if(!valida_passrep($("#pass").val(), $("#passrep").val())){
				notifica("errPassRep","Debe introducir la misma contraseña con un mínimo de 8 caracteres");
			}
			if($("#mail").val().lenght>0 && !valida_mail($("#mail").val())){
				notifica("errMail","Debe introducir un eMail válido");
			}
			else{
				/*$.post(
					"http://bolsacetic.esy.es/Proyecto_PHP/controlador.php",
					$("#registroEmpresaForm").serialize(),
					function(res){
		                if(res == 1){
		                    location.href = this.href;
		                } else {
		                    $("#fracaso").delay(500).fadeIn("slow"); 
		                }
			        }
			     );
			  */
			 
			   $.ajax({
					 url:"http://bolsacetic.esy.es/Proyecto_PHP/controlador.php",	 
					 type:"POST",
					 data:$("#registroEmpresaForm").serialize(),
					 success:function(data){
						 console.log("success");
						 console.log(data);
						 if(data=="OK"){
						 	console.log("exito");
						 	$("#cif").val($("#usuario")); 
						 	$("#nombre").val($("#nombre")); 
						 	$("#persona").val($("#persona")); 
						 	$("#mail").val($("#mail")); 
						 	
							$.mobile.changePage("#dPersonales");
						 						 	
						 }else{
						 	console.log("fracaso");
						 	$("#fracaso").delay(500).fadeIn("slow");	
						 }
					 },
					 error:function(p,t,e){
						 console.log("error");
						 console.log(t);
						 console.log(e);
					 },
					 complete:function(){
					 	console.log("completo");
					 }
				 });  
			}
		});
	});
}
